NexusPi Git Node
tests/backend/test_memory_growth_oracles.py 443700a629eee5c0fcbbdf9908a62a3dec6218e8 (443700a6) Text, 9.07 KB
T8b949e# SPDX-License-Identifier: 0BSD
T8b949e"""Collection-size oracles for in-process caches that must stay bounded."""
Tff7b72import T7ee787time
Tff7b72from T7ee787types Tff7b72import Te6edf3SimpleNamespace
Tff7b72from T7ee787unittestT7ee787.T7ee787mock Tff7b72import Te6edf3MagicMock
Tff7b72import T7ee787pytest
Tff7b72from T7ee787hypothesis Tff7b72import Te6edf3givenTb4b4b4, Te6edf3settings
Tff7b72from T7ee787hypothesis Tff7b72import Te6edf3strategies Tff7b72as Te6edf3st
Tff7b72from T7ee787meshchatxT7ee787.T7ee787meshchat Tff7b72import Te6edf3ReticulumMeshChat
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787auto_resend_guard Tff7b72import Tb4b4b4(
Te6edf3MAX_AUTO_RESEND_LOCKSTb4b4b4,
Te6edf3AutoResendCoordinatorTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787map_manager Tff7b72import Te6edf3MAX_EXPORT_RECORDSTb4b4b4, Te6edf3MapManager
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787map_overlay_manager Tff7b72import Tb4b4b4(
Te6edf3MAX_FINISHED_JOBSTb4b4b4,
Te6edf3MapOverlayManagerTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787memory_pressure Tff7b72import Tb4b4b4(
Te6edf3ANNOUNCE_RATE_HARD_CAPTb4b4b4,
Te6edf3MemoryPressureManagerTb4b4b4,
Te6edf3prune_announce_timestampsTb4b4b4,
Te6edf3prune_time_windowed_floatsTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787page_node Tff7b72import Te6edf3MAX_UNIQUE_REMOTE_HASHESTb4b4b4, Te6edf3PageNode
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787rncp_handler Tff7b72import Te6edf3MAX_RETAINED_TRANSFERSTb4b4b4, Te6edf3RNCPHandler
Tff7b72def Td2a8fftest_announce_timestamps_drop_older_than_windowTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3now Tff7b72= T79c0ff10_000.0
Te6edf3stamps Tff7b72= Tb4b4b4[Te6edf3now Tff7b72- T79c0ff4000Tb4b4b4, Te6edf3now Tff7b72- T79c0ff10Tb4b4b4, Te6edf3nowTb4b4b4]
Te6edf3out Tff7b72= Te6edf3prune_time_windowed_floatsTb4b4b4(Te6edf3stampsTb4b4b4, Te6edf3nowTff7b72=Te6edf3nowTb4b4b4, Te6edf3window_sTff7b72=T79c0ff3600Tb4b4b4, Te6edf3hard_capTff7b72=T79c0ff50_000Tb4b4b4)
Tff7b72assert Te6edf3out Tff7b72== Tb4b4b4[Te6edf3now Tff7b72- T79c0ff10Tb4b4b4, Te6edf3nowTb4b4b4]
Tff7b72def Td2a8fftest_announce_timestamps_hard_cap_inside_windowTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3now Tff7b72= T79c0ff1_000_000.0
Te6edf3stamps Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72for Te6edf3i Tff7b72in Tffa657rangeTb4b4b4(Te6edf3ANNOUNCE_RATE_HARD_CAP Tff7b72+ T79c0ff750Tb4b4b4)Tb4b4b4:
Te6edf3ts Tff7b72= Te6edf3now Tff7b72+ Tb4b4b4(Te6edf3i Tff7b72* T79c0ff0.001Tb4b4b4)
Te6edf3stampsTff7b72.Td2a8ffappendTb4b4b4(Te6edf3tsTb4b4b4)
Te6edf3stamps Tff7b72= Te6edf3prune_announce_timestampsTb4b4b4(Te6edf3stampsTb4b4b4, Te6edf3nowTff7b72=Te6edf3tsTb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3stampsTb4b4b4) Tff7b72<Tff7b72= Te6edf3ANNOUNCE_RATE_HARD_CAP
Tff7b72assert Te6edf3stampsTb4b4b4[Tff7b72-T79c0ff1Tb4b4b4] Tff7b72>Tff7b72= Te6edf3stampsTb4b4b4[T79c0ff0Tb4b4b4]
Tf0883e@settingsTb4b4b4(Te6edf3deadlineTff7b72=Tff7b72NoneTb4b4b4, Te6edf3max_examplesTff7b72=T79c0ff40Tb4b4b4)
Tf0883e@givenTb4b4b4(
Te6edf3stampsTff7b72=Te6edf3stTff7b72.Td2a8fflistsTb4b4b4(
Te6edf3stTff7b72.Td2a8fffloatsTb4b4b4(
Te6edf3min_valueTff7b72=T79c0ff0Tb4b4b4, Te6edf3max_valueTff7b72=T79c0ff1_000_000Tb4b4b4, Te6edf3allow_nanTff7b72=Tff7b72FalseTb4b4b4, Te6edf3allow_infinityTff7b72=Tff7b72False
Tb4b4b4)Tb4b4b4,
Te6edf3max_sizeTff7b72=T79c0ff80Tb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3nowTff7b72=Te6edf3stTff7b72.Td2a8fffloatsTb4b4b4(
Te6edf3min_valueTff7b72=T79c0ff0Tb4b4b4, Te6edf3max_valueTff7b72=T79c0ff1_000_000Tb4b4b4, Te6edf3allow_nanTff7b72=Tff7b72FalseTb4b4b4, Te6edf3allow_infinityTff7b72=Tff7b72False
Tb4b4b4)Tb4b4b4,
Te6edf3window_sTff7b72=Te6edf3stTff7b72.Td2a8fffloatsTb4b4b4(
Te6edf3min_valueTff7b72=T79c0ff1Tb4b4b4, Te6edf3max_valueTff7b72=T79c0ff10_000Tb4b4b4, Te6edf3allow_nanTff7b72=Tff7b72FalseTb4b4b4, Te6edf3allow_infinityTff7b72=Tff7b72False
Tb4b4b4)Tb4b4b4,
Te6edf3hard_capTff7b72=Te6edf3stTff7b72.Td2a8ffintegersTb4b4b4(Te6edf3min_valueTff7b72=T79c0ff0Tb4b4b4, Te6edf3max_valueTff7b72=T79c0ff40Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8fftest_prune_time_windowed_floats_oracleTb4b4b4(Te6edf3stampsTb4b4b4, Te6edf3nowTb4b4b4, Te6edf3window_sTb4b4b4, Te6edf3hard_capTb4b4b4)Tb4b4b4:
Te6edf3expected Tff7b72= Tb4b4b4[Te6edf3t Tff7b72for Te6edf3t Tff7b72in Te6edf3stamps Tff7b72if Te6edf3t Tff7b72>Tff7b72= Te6edf3now Tff7b72- Te6edf3window_sTb4b4b4]
Tff7b72if Te6edf3hard_cap Tff7b72and Tffa657lenTb4b4b4(Te6edf3expectedTb4b4b4) Tff7b72> Te6edf3hard_capTb4b4b4:
Te6edf3expected Tff7b72= Te6edf3expectedTb4b4b4[Tff7b72-Te6edf3hard_capTb4b4b4:Tb4b4b4]
Te6edf3actual Tff7b72= Te6edf3prune_time_windowed_floatsTb4b4b4(
Tffa657listTb4b4b4(Te6edf3stampsTb4b4b4)Tb4b4b4,
Te6edf3nowTff7b72=Te6edf3nowTb4b4b4,
Te6edf3window_sTff7b72=Te6edf3window_sTb4b4b4,
Te6edf3hard_capTff7b72=Te6edf3hard_capTb4b4b4,
Tb4b4b4)
Tff7b72assert Te6edf3actual Tff7b72== Te6edf3expected
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3actualTb4b4b4) Tff7b72<Tff7b72= Te6edf3hard_cap Tff7b72if Te6edf3hard_cap Tff7b72else Tff7b72True
Tff7b72def Td2a8fftest_auto_resend_locks_capped_for_unique_destinationsTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3coord Tff7b72= Te6edf3AutoResendCoordinatorTb4b4b4(Tb4b4b4)
Tff7b72for Te6edf3i Tff7b72in Tffa657rangeTb4b4b4(Te6edf3MAX_AUTO_RESEND_LOCKS Tff7b72+ T79c0ff80Tb4b4b4)Tb4b4b4:
Te6edf3coordTff7b72.Td2a8fflock_forTb4b4b4(Ta5d6ff"Ta5d6ffid1Ta5d6ff"Tb4b4b4, Ta5d6fffTa5d6ff"Tffd700{Te6edf3iTffd700:Ta5d6ff032xTffd700}Ta5d6ff"Tb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3coordTff7b72.Td2a8ff_locksTb4b4b4) Tff7b72<Tff7b72= Te6edf3MAX_AUTO_RESEND_LOCKS
Tf0883e@pytestTff7b72.Td2a8ffmarkTff7b72.Td2a8ffasyncio
Tff7b72async Tff7b72def Td2a8fftest_auto_resend_held_lock_survives_evictionTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3coord Tff7b72= Te6edf3AutoResendCoordinatorTb4b4b4(Tb4b4b4)
Te6edf3held_dest Tff7b72= Ta5d6ff"Ta5d6ffaaTa5d6ff" Tff7b72* T79c0ff16
Te6edf3lock Tff7b72= Te6edf3coordTff7b72.Td2a8fflock_forTb4b4b4(Ta5d6ff"Ta5d6ffid1Ta5d6ff"Tb4b4b4, Te6edf3held_destTb4b4b4)
Tff7b72await Te6edf3lockTff7b72.Td2a8ffacquireTb4b4b4(Tb4b4b4)
Tff7b72tryTb4b4b4:
Tff7b72for Te6edf3i Tff7b72in Tffa657rangeTb4b4b4(Te6edf3MAX_AUTO_RESEND_LOCKS Tff7b72+ T79c0ff20Tb4b4b4)Tb4b4b4:
Te6edf3coordTff7b72.Td2a8fflock_forTb4b4b4(Ta5d6ff"Ta5d6ffid1Ta5d6ff"Tb4b4b4, Ta5d6fffTa5d6ff"Tffd700{Te6edf3iTffd700:Ta5d6ff032xTffd700}Ta5d6ff"Tb4b4b4)
Tff7b72assert Te6edf3coordTff7b72.Td2a8fflock_forTb4b4b4(Ta5d6ff"Ta5d6ffid1Ta5d6ff"Tb4b4b4, Te6edf3held_destTb4b4b4) Tff7b72is Te6edf3lock
Tff7b72assert Te6edf3lockTff7b72.Td2a8fflockedTb4b4b4(Tb4b4b4)
Tff7b72finallyTb4b4b4:
Te6edf3lockTff7b72.Td2a8ffreleaseTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8fftest_auto_resend_drop_identity_removes_unlocked_locksTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3coord Tff7b72= Te6edf3AutoResendCoordinatorTb4b4b4(Tb4b4b4)
Te6edf3ident Tff7b72= Ta5d6ff"Ta5d6ffbbTa5d6ff" Tff7b72* T79c0ff16
Te6edf3other Tff7b72= Ta5d6ff"Ta5d6ffccTa5d6ff" Tff7b72* T79c0ff16
Te6edf3coordTff7b72.Td2a8fflock_forTb4b4b4(Te6edf3identTb4b4b4, Ta5d6ff"Ta5d6ff11Ta5d6ff" Tff7b72* T79c0ff16Tb4b4b4)
Te6edf3coordTff7b72.Td2a8fflock_forTb4b4b4(Te6edf3otherTb4b4b4, Ta5d6ff"Ta5d6ff22Ta5d6ff" Tff7b72* T79c0ff16Tb4b4b4)
Te6edf3dropped Tff7b72= Te6edf3coordTff7b72.Td2a8ffdrop_identityTb4b4b4(Te6edf3identTb4b4b4)
Tff7b72assert Te6edf3dropped Tff7b72== T79c0ff1
Tff7b72assert Tffa657allTb4b4b4(Tff7b72not Te6edf3keyTff7b72.Td2a8ffstartswithTb4b4b4(Te6edf3ident Tff7b72+ Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4) Tff7b72for Te6edf3key Tff7b72in Te6edf3coordTff7b72.Td2a8ff_locksTb4b4b4)
Tff7b72assert Ta5d6fffTa5d6ff"Tffd700{Te6edf3otherTffd700}Ta5d6ff:Tffd700{Ta5d6ff'Ta5d6ff22Ta5d6ff' Tff7b72* T79c0ff16Tffd700}Ta5d6ff" Tff7b72in Te6edf3coordTff7b72.Td2a8ff_locks
Tff7b72def Td2a8fftest_teardown_identity_drops_auto_resend_locks_for_that_identityTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3app Tff7b72= Te6edf3ReticulumMeshChatTff7b72.Td2a8ff__new__Tb4b4b4(Te6edf3ReticulumMeshChatTb4b4b4)
Te6edf3ident Tff7b72= Ta5d6ff"Ta5d6ffaaTa5d6ff" Tff7b72* T79c0ff16
Te6edf3other Tff7b72= Ta5d6ff"Ta5d6ffbbTa5d6ff" Tff7b72* T79c0ff16
Te6edf3ctx Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3ctxTff7b72.Td2a8ffidentity_hash Tff7b72= Te6edf3ident
Te6edf3appTff7b72.Td2a8ffcurrent_context Tff7b72= Te6edf3ctx
Te6edf3appTff7b72.Td2a8ffcontexts Tff7b72= Tb4b4b4{Te6edf3identTb4b4b4: Te6edf3ctxTb4b4b4}
Te6edf3appTff7b72.Td2a8ffrunning Tff7b72= Tff7b72True
Te6edf3appTff7b72.Td2a8ff_auto_resend_coordinator Tff7b72= Te6edf3AutoResendCoordinatorTb4b4b4(Tb4b4b4)
Te6edf3appTff7b72.Td2a8ff_auto_resend_coordinatorTff7b72.Td2a8fflock_forTb4b4b4(Te6edf3identTb4b4b4, Ta5d6ff"Ta5d6ff11Ta5d6ff" Tff7b72* T79c0ff16Tb4b4b4)
Te6edf3appTff7b72.Td2a8ff_auto_resend_coordinatorTff7b72.Td2a8fflock_forTb4b4b4(Te6edf3otherTb4b4b4, Ta5d6ff"Ta5d6ff22Ta5d6ff" Tff7b72* T79c0ff16Tb4b4b4)
Te6edf3appTff7b72.Td2a8ff_clear_mesh_link_caches Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3appTff7b72.Td2a8ffteardown_identityTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3appTff7b72.Td2a8ffcurrent_context Tff7b72is Tff7b72None
Te6edf3ctxTff7b72.Td2a8ffteardownTff7b72.Td2a8ffassert_called_onceTb4b4b4(Tb4b4b4)
Tff7b72assert Tffa657allTb4b4b4(
Tff7b72not Te6edf3keyTff7b72.Td2a8ffstartswithTb4b4b4(Te6edf3ident Tff7b72+ Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4) Tff7b72for Te6edf3key Tff7b72in Te6edf3appTff7b72.Td2a8ff_auto_resend_coordinatorTff7b72.Td2a8ff_locks
Tb4b4b4)
Tff7b72assert Ta5d6fffTa5d6ff"Tffd700{Te6edf3otherTffd700}Ta5d6ff:Tffd700{Ta5d6ff'Ta5d6ff22Ta5d6ff' Tff7b72* T79c0ff16Tffd700}Ta5d6ff" Tff7b72in Te6edf3appTff7b72.Td2a8ff_auto_resend_coordinatorTff7b72.Td2a8ff_locks
Tff7b72def Td2a8fftest_reload_teardown_drops_auto_resend_locks_for_all_identitiesTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3app Tff7b72= Te6edf3ReticulumMeshChatTff7b72.Td2a8ff__new__Tb4b4b4(Te6edf3ReticulumMeshChatTb4b4b4)
Te6edf3ident Tff7b72= Ta5d6ff"Ta5d6ffaaTa5d6ff" Tff7b72* T79c0ff16
Te6edf3other Tff7b72= Ta5d6ff"Ta5d6ffbbTa5d6ff" Tff7b72* T79c0ff16
Te6edf3ctx_a Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3ctx_aTff7b72.Td2a8ffidentity_hash Tff7b72= Te6edf3ident
Te6edf3ctx_aTff7b72.Td2a8ffbot_handler Tff7b72= Tff7b72None
Te6edf3ctx_b Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3ctx_bTff7b72.Td2a8ffidentity_hash Tff7b72= Te6edf3other
Te6edf3ctx_bTff7b72.Td2a8ffbot_handler Tff7b72= Tff7b72None
Te6edf3appTff7b72.Td2a8ffcontexts Tff7b72= Tb4b4b4{Te6edf3identTb4b4b4: Te6edf3ctx_aTb4b4b4, Te6edf3otherTb4b4b4: Te6edf3ctx_bTb4b4b4}
Te6edf3appTff7b72.Td2a8ffcurrent_context Tff7b72= Te6edf3ctx_a
Te6edf3appTff7b72.Td2a8ffrunning Tff7b72= Tff7b72True
Te6edf3appTff7b72.Td2a8ffstop_local_propagation_node Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3appTff7b72.Td2a8ffpage_node_manager Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3appTff7b72.Td2a8ff_clear_mesh_link_caches Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3appTff7b72.Td2a8ff_auto_resend_coordinator Tff7b72= Te6edf3AutoResendCoordinatorTb4b4b4(Tb4b4b4)
Te6edf3appTff7b72.Td2a8ff_auto_resend_coordinatorTff7b72.Td2a8fflock_forTb4b4b4(Te6edf3identTb4b4b4, Ta5d6ff"Ta5d6ff11Ta5d6ff" Tff7b72* T79c0ff16Tb4b4b4)
Te6edf3appTff7b72.Td2a8ff_auto_resend_coordinatorTff7b72.Td2a8fflock_forTb4b4b4(Te6edf3otherTb4b4b4, Ta5d6ff"Ta5d6ff22Ta5d6ff" Tff7b72* T79c0ff16Tb4b4b4)
Te6edf3appTff7b72.Td2a8ff_teardown_all_contexts_for_reloadTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3appTff7b72.Td2a8ff_auto_resend_coordinatorTff7b72.Td2a8ff_locks Tff7b72== Tb4b4b4{Tb4b4b4}
Tff7b72assert Te6edf3appTff7b72.Td2a8ffcontexts Tff7b72== Tb4b4b4{Tb4b4b4}
Tff7b72assert Te6edf3appTff7b72.Td2a8ffcurrent_context Tff7b72is Tff7b72None
Tff7b72def Td2a8fftest_rncp_drops_resource_and_caps_terminal_transfersTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3handler Tff7b72= Te6edf3RNCPHandlerTb4b4b4(Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4, Ta5d6ff"Ta5d6ff/tmpTa5d6ff"Tb4b4b4)
Te6edf3blob Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Tff7b72for Te6edf3i Tff7b72in Tffa657rangeTb4b4b4(Te6edf3MAX_RETAINED_TRANSFERS Tff7b72+ T79c0ff12Tb4b4b4)Tb4b4b4:
Te6edf3tid Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3iTffd700:Ta5d6ff032xTffd700}Ta5d6ff"
Te6edf3handlerTff7b72.Td2a8ffactive_transfersTb4b4b4[Te6edf3tidTb4b4b4] Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffresourceTa5d6ff"Tb4b4b4: Te6edf3blobTb4b4b4,
Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcompletedTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffstarted_atTa5d6ff"Tb4b4b4: Tffa657floatTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4,
Tb4b4b4}
Te6edf3handlerTff7b72.Td2a8ff_on_transfer_terminalTb4b4b4(Te6edf3tidTb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3handlerTff7b72.Td2a8ffactive_transfersTb4b4b4) Tff7b72<Tff7b72= Te6edf3MAX_RETAINED_TRANSFERS
Tff7b72assert Tffa657allTb4b4b4(Ta5d6ff"Ta5d6ffresourceTa5d6ff" Tff7b72not Tff7b72in Te6edf3entry Tff7b72for Te6edf3entry Tff7b72in Te6edf3handlerTff7b72.Td2a8ffactive_transfersTff7b72.Td2a8ffvaluesTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3newest Tff7b72= Tffa657maxTb4b4b4(Te6edf3handlerTff7b72.Td2a8ffactive_transfersTb4b4b4, Te6edf3keyTff7b72=Tff7b72lambda Te6edf3tidTb4b4b4: Tffa657intTb4b4b4(Te6edf3tidTb4b4b4, T79c0ff16Tb4b4b4)Tb4b4b4)
Tff7b72assert Te6edf3newest Tff7b72== Ta5d6fffTa5d6ff"Tffd700{Te6edf3MAX_RETAINED_TRANSFERS Tff7b72+ T79c0ff11Tffd700:Ta5d6ff032xTffd700}Ta5d6ff"
Tff7b72def Td2a8fftest_page_node_unique_remote_hashes_cappedTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3node Tff7b72= Te6edf3PageNodeTb4b4b4(
Te6edf3node_idTff7b72=Ta5d6ff"Ta5d6ffn1Ta5d6ff"Tb4b4b4,
Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffn1Ta5d6ff"Tb4b4b4,
Te6edf3base_dirTff7b72=Ta5d6ff"Ta5d6ff/tmp/page-node-memTa5d6ff"Tb4b4b4,
Te6edf3identityTff7b72=Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3announce_enabledTff7b72=Tff7b72FalseTb4b4b4,
Tb4b4b4)
Tff7b72for Te6edf3i Tff7b72in Tffa657rangeTb4b4b4(Te6edf3MAX_UNIQUE_REMOTE_HASHES Tff7b72+ T79c0ff25Tb4b4b4)Tb4b4b4:
Te6edf3remote Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3remoteTff7b72.Td2a8ffhash Tff7b72= Te6edf3iTff7b72.Td2a8ffto_bytesTb4b4b4(T79c0ff16Tb4b4b4, Ta5d6ff"Ta5d6ffbigTa5d6ff"Tb4b4b4)
Te6edf3nodeTff7b72.Td2a8ff_note_remote_identityTb4b4b4(Te6edf3remoteTb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3nodeTff7b72.Td2a8ff_unique_remote_hashesTb4b4b4) Tff7b72== Te6edf3MAX_UNIQUE_REMOTE_HASHES
Tff7b72def Td2a8fftest_map_overlay_finished_jobs_capped_and_cleanup_clears_locksTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3manager Tff7b72= Te6edf3MapOverlayManagerTff7b72.Td2a8ff__new__Tb4b4b4(Te6edf3MapOverlayManagerTb4b4b4)
Te6edf3managerTff7b72.Td2a8ff_jobs Tff7b72= Tb4b4b4{Tb4b4b4}
Te6edf3managerTff7b72.Td2a8ff_active_fetchers Tff7b72= Tb4b4b4{Tb4b4b4}
Te6edf3managerTff7b72.Td2a8ff_source_locks Tff7b72= Tb4b4b4{T79c0ff1Tb4b4b4: Tffa657objectTb4b4b4(Tb4b4b4)Tb4b4b4, T79c0ff2Tb4b4b4: Tffa657objectTb4b4b4(Tb4b4b4)Tb4b4b4}
Te6edf3managerTff7b72.Td2a8ff_scheduler_task Tff7b72= Tff7b72None
Te6edf3managerTff7b72.Td2a8ff_stopped Tff7b72= Tff7b72False
Tff7b72for Te6edf3i Tff7b72in Tffa657rangeTb4b4b4(Te6edf3MAX_FINISHED_JOBS Tff7b72+ T79c0ff9Tb4b4b4)Tb4b4b4:
Te6edf3managerTff7b72.Td2a8ff_jobsTb4b4b4[Ta5d6fffTa5d6ff"Ta5d6ffjob-Tffd700{Te6edf3iTffd700}Ta5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffjob_idTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Ta5d6ffjob-Tffd700{Te6edf3iTffd700}Ta5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffsuccessTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffcreated_atTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Ta5d6ff2026-01-01T00:00:Tffd700{Te6edf3iTffd700:Ta5d6ff02dTffd700}Ta5d6ff"Tb4b4b4,
Tb4b4b4}
Te6edf3dropped Tff7b72= Te6edf3managerTff7b72.Td2a8ffprune_finished_jobsTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3dropped Tff7b72== T79c0ff9
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3managerTff7b72.Td2a8ff_jobsTb4b4b4) Tff7b72== Te6edf3MAX_FINISHED_JOBS
Te6edf3managerTff7b72.Td2a8ffstop_scheduler Tff7b72= Tff7b72lambdaTb4b4b4: Tff7b72None
Te6edf3managerTff7b72.Td2a8ffoverlay_root Tff7b72= Tff7b72lambdaTb4b4b4: Ta5d6ff"Ta5d6ff/tmp/missing-overlay-rootTa5d6ff"
Te6edf3managerTff7b72.Td2a8ffcleanupTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3managerTff7b72.Td2a8ff_jobs Tff7b72== Tb4b4b4{Tb4b4b4}
Tff7b72assert Te6edf3managerTff7b72.Td2a8ff_source_locks Tff7b72== Tb4b4b4{Tb4b4b4}
Tff7b72def Td2a8fftest_map_export_records_cappedTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3mm Tff7b72= Te6edf3MapManagerTb4b4b4(Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4, Ta5d6ff"Ta5d6ff/tmpTa5d6ff"Tb4b4b4)
Tff7b72for Te6edf3i Tff7b72in Tffa657rangeTb4b4b4(Te6edf3MAX_EXPORT_RECORDS Tff7b72+ T79c0ff5Tb4b4b4)Tb4b4b4:
Te6edf3mmTff7b72.Td2a8ff_export_progressTb4b4b4[Ta5d6fffTa5d6ff"Ta5d6ffeTffd700{Te6edf3iTffd700}Ta5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffstatusTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcompletedTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffstart_timeTa5d6ff"Tb4b4b4: Tffa657floatTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4,
Tb4b4b4}
Te6edf3dropped Tff7b72= Te6edf3mmTff7b72.Td2a8ffprune_export_recordsTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3dropped Tff7b72== T79c0ff5
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3mmTff7b72.Td2a8ff_export_progressTb4b4b4) Tff7b72== Te6edf3MAX_EXPORT_RECORDS
Tff7b72assert Ta5d6ff"Ta5d6ffe0Ta5d6ff" Tff7b72not Tff7b72in Te6edf3mmTff7b72.Td2a8ff_export_progress
Tff7b72assert Ta5d6fffTa5d6ff"Ta5d6ffeTffd700{Te6edf3MAX_EXPORT_RECORDS Tff7b72+ T79c0ff4Tffd700}Ta5d6ff" Tff7b72in Te6edf3mmTff7b72.Td2a8ff_export_progress
Tff7b72def Td2a8fftest_identity_evict_drops_metrics_and_resend_locksTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3ident Tff7b72= Ta5d6ff"Ta5d6ffaaTa5d6ff" Tff7b72* T79c0ff16
Te6edf3coord Tff7b72= Te6edf3AutoResendCoordinatorTb4b4b4(Tb4b4b4)
Te6edf3coordTff7b72.Td2a8fflock_forTb4b4b4(Te6edf3identTb4b4b4, Ta5d6ff"Ta5d6ffddTa5d6ff" Tff7b72* T79c0ff16Tb4b4b4)
Te6edf3app Tff7b72= Te6edf3SimpleNamespaceTb4b4b4(
Te6edf3contextsTff7b72=Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3_propagation_sync_metricsTff7b72=Tb4b4b4{Te6edf3identTb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6ffattemptsTa5d6ff"Tb4b4b4: T79c0ff3Tb4b4b4}Tb4b4b4}Tb4b4b4,
Te6edf3_auto_resend_coordinatorTff7b72=Te6edf3coordTb4b4b4,
Tb4b4b4)
Te6edf3appTff7b72.Td2a8ff_drop_auto_resend_locks Tff7b72= Tff7b72lambda Te6edf3identity_hashTb4b4b4: Tb4b4b4(
Te6edf3ReticulumMeshChatTff7b72.Td2a8ff_drop_auto_resend_locksTb4b4b4(
Te6edf3appTb4b4b4,
Te6edf3identity_hashTb4b4b4,
Tb4b4b4)
Tb4b4b4)
Te6edf3ReticulumMeshChatTff7b72.Td2a8ff_evict_cached_identity_contextTb4b4b4(Te6edf3appTb4b4b4, Te6edf3identTb4b4b4)
Tff7b72assert Te6edf3ident Tff7b72not Tff7b72in Te6edf3appTff7b72.Td2a8ff_propagation_sync_metrics
Tff7b72assert Te6edf3coordTff7b72.Td2a8ff_locks Tff7b72== Tb4b4b4{Tb4b4b4}
Tff7b72def Td2a8fftest_periodic_cleanup_prunes_announce_timestamp_listTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3now Tff7b72= Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)
Te6edf3app Tff7b72= Te6edf3SimpleNamespaceTb4b4b4(
Te6edf3announce_timestampsTff7b72=Tb4b4b4[Te6edf3now Tff7b72- T79c0ff8000Tb4b4b4, Te6edf3now Tff7b72- T79c0ff10Tb4b4b4, Te6edf3nowTb4b4b4]Tb4b4b4,
Te6edf3_lxmf_incoming_timestampsTff7b72=Tb4b4b4[Te6edf3now Tff7b72- T79c0ff9000Tb4b4b4, Te6edf3nowTb4b4b4]Tb4b4b4,
Te6edf3reticulumTff7b72=Tff7b72NoneTb4b4b4,
Te6edf3rnpath_handlerTff7b72=Tff7b72NoneTb4b4b4,
Te6edf3current_contextTff7b72=Tff7b72NoneTb4b4b4,
Te6edf3_auto_resend_coordinatorTff7b72=Te6edf3AutoResendCoordinatorTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3manager Tff7b72= Te6edf3MemoryPressureManagerTb4b4b4(Te6edf3appTff7b72=Te6edf3appTb4b4b4)
Te6edf3stats Tff7b72= Te6edf3managerTff7b72.Td2a8ffrun_periodic_cleanupTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3appTff7b72.Td2a8ffannounce_timestamps Tff7b72== Tb4b4b4[Te6edf3now Tff7b72- T79c0ff10Tb4b4b4, Te6edf3nowTb4b4b4]
Tff7b72assert Te6edf3appTff7b72.Td2a8ff_lxmf_incoming_timestamps Tff7b72== Tb4b4b4[Te6edf3nowTb4b4b4]
Tff7b72assert Te6edf3statsTb4b4b4[Ta5d6ff"Ta5d6ffannounce_timestampsTa5d6ff"Tb4b4b4] Tff7b72== T79c0ff1
Tff7b72assert Te6edf3statsTb4b4b4[Ta5d6ff"Ta5d6fflxmf_incoming_timestampsTa5d6ff"Tb4b4b4] Tff7b72== T79c0ff1
Served by rngit 1.5.2 - Generated in 0.04s